1. Field of the Invention
The present invention relates to a plurality of computer systems for transferring messages in accordance with application software under a distributed environment, more particularly relates to a service layer built into a computer system and providing additional service in accordance with a certain policy and to a policy manager centrally managing the above policies in cooperation with a service layer.
2. Description of the Related Art
The recent growth of computer networks has led to the extensive transfer of information among a number of distributed computer systems based on application software. This environment is generally called a “distributed environment.”
Such a distributed environment is generally realized by separate application software for providing general functions and communication layers for generally providing functions relating to communications. Here, a “communication layer” includes physical communication functions, that is, communication channels or communication networks, communication protocols defining these physical communication functions as communication procedures, operating systems (OS) or application programming interfaces (API) for providing communication protocols to the application software, distributed platform layers (DPL) incorporating advanced communication functions or communication support functions, etc. As a typical example of a DPL, so-called “common object request broker architecture” (CORBA) providing more extensive communication functions than the operating systems may be mentioned.
As will be explained later in detail with reference to the drawings, there are the following four problems in the related art.
In certain types of modes of use of distributed environments, sometimes the applications transfer large numbers of different types of messages in a short time. For example, a remote control application realized using the above CORBA (i) sends a request inquiring about the internal status of another application, (ii) sends a request for processing, (iii) sends a request for inquiry once again, and (iv) sends another request for processing, that is, sometimes a large number of different requests are asked to be made within a short time.
In such a case, with a first system configuration (FIG. 3 and FIG. 4 explained later), each time there is a request, a so-called “cache misshit” occurs where a suitable policy cannot be acquired from a policy cache function unit and excess time ends up being spent for acquiring the policy from the policy manager. In this way, despite the presence of a cache mechanism, there is a first problem that this cache misshit makes efficient operation impossible.
On the other hand, faced with such a cache misshit, a cache in a general computer system, for example, fetches and caches certain corresponding areas in the memory consecutively. Due to this, cache misshits in consecutive memory access are prevented. This is general practice. In the case of the above policy cache, however, often the group of required policies are not consecutive. Therefore, the above general cache could not exhibit its inherent effectiveness. In other words, in the above case, there was the second problem that the policies had to be acquired based on a suitable strategy predicting the required policies.
Further, in a second system configuration (FIG. 14 and FIG. 15 explained later), even if policies were suitably cached, the service layer had to negotiate with the service layer of the other party in the communication for each policy. Therefore, there was the third problem that communication time and processing time were required for the negotiations and excess time ended up being spent.
Further, in the second system configuration, the negotiation over policy between the policy managers was completed in advance and the negotiations between the service layers during the communications were eliminated, but no means have been realized for guaranteeing the reliability of the completion of the advance negotiations. Therefore, the service layers cannot prevent the occurrence of mismatches of policies due to illegitimate actions or human error in settings at the policy managers or mismatches of policies due to errors in transmission of policies arising due to communication errors.
Further, in the above second system configuration, there was the fourth problem that, in the above type of mode of use, excess time is taken in the communication of messages and the reliability of the negotiations over policies performed between two service layers cannot be guaranteed. This was disadvantageous to the user.